/******************************************************************************* 
  Copyright (C), 1988-2020, zeno Tech. Co., Ltd.
  Description:     ADC模块,统一管理资源
  Function List: 
            ADC_Open()
                | 
               \ /  
            ADC_Start()
                | 
               \ / 
           ADC_GetValue()
                | 
               \ / 
            ADC_Stop()
                | 
               \ / 
            ADC_Close() 
            
  History:
    <wumj -- 2016-07-09>  创建          
*******************************************************************************/ 
#ifndef ADC_H 
#define ADC_H 

#ifdef __cplusplus
extern "C" {
#endif

/*=============================================================================
                                 Includes                                  
==============================================================================*/  
#include <adcCommon.h>

/*=============================================================================
                               Macro Definition
==============================================================================*/
                        
/*=============================================================================
                        Local Structures and Typedef 
==============================================================================*/  

/*=============================================================================
                             extern  Variables                                  
==============================================================================*/

/*=============================================================================
                             Function Definition                                  
==============================================================================*/  

/*******************************************************************************
  Function:     ADC_Open
  Description:  打开Adc设备
  Input:        - pOpen: 打开参数
  Output:       无
  Return:       ~NULL: 操作成功
                NULL: 操作失败
  Others:       无
*******************************************************************************/
void *ADC_Open(ADC_openParam_t *pOpen);

/*******************************************************************************
  Function:     ADC_Close
  Description:  关闭Adc设备
  Input:        - hAdc: Adc句柄
  Output:       无
  Return:       0: 操作成功
                ~0: 操作失败
  Others:       无
*******************************************************************************/
int ADC_Close(void *hAdc);

/*******************************************************************************
  Function:     ADC_Start
  Description:  启动Adc采样
  Input:        - hAdc: Adc句柄
  Output:       无
  Return:       0: 操作成功
                ~0: 操作失败
  Others:       无
*******************************************************************************/
int ADC_Start(void *hAdc);

/*******************************************************************************
  Function:     ADC_Stop
  Description:  停止Adc采样
  Input:        - hAdc: Adc句柄
  Output:       无
  Return:       0: 操作成功
                ~0: 操作失败
  Others:       无
*******************************************************************************/
int ADC_Stop(void *hAdc);

/*******************************************************************************
  Function:     ADC_GetValue
  Description:  获取Adc采样结果
  Input:        - hAdc: Adc句柄
                = pValue: 采样结果
  Output:       无
  Return:       0: 操作成功
                ~0: 操作失败
  Others:       无
*******************************************************************************/
int ADC_GetValue(void *hAdc, unsigned int *pValue);
  
#ifdef __cplusplus
}
#endif
#endif // ADC_H 